package flex.cc.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import flex.cc.base.dto.LoginAuthDto;
import flex.cc.system.entity.NoDisturbEntity;

import java.util.List;

/**
 * ${comments}
 *
 * @author jiayongchao
 * @email jiayongchao@sinosoft.com.cn
 * @date 2021-05-26 17:51:54
 */
public interface NoDisturbService extends IService<NoDisturbEntity> {

    /**
     * 保存免打扰信息
     * @param noDisturb
     * @return
     */
    boolean saveNoDisturb(NoDisturbEntity noDisturb, LoginAuthDto loginAuthDto);
    /**
     * 修改免打扰信息
     * @param noDisturb
     * @param loginAuthDto
     * @return
     */
    boolean modifyNoDisturb(NoDisturbEntity noDisturb, LoginAuthDto loginAuthDto);
    /**
     * 修改免打扰状态
     * @param noDisturb
     * @param loginAuthDto
     * @return
     */
    boolean modifyStatusById(NoDisturbEntity noDisturb, LoginAuthDto loginAuthDto);
    /**
     * 根据id删除免打扰信息
     * @param noDisturbId
     * @return
     */
    boolean removeNoDisturbById(Long noDisturbId);

    /**
     * 根据id查询免打扰信息
     * @param noDisturbId
     * @return
     */
    NoDisturbEntity queryNoDisturbById(Long noDisturbId);

    /**
     * 根据查询条件查询免打扰集合
     * @param noDisturb
     * @return
     */
    List<NoDisturbEntity> queryNoDisturbList(NoDisturbEntity noDisturb);

    /**
     * 根据查询条件分页查询免打扰集合
     * @param noDisturb
     * @return
     */
    IPage<NoDisturbEntity> queryNoDisturbListWithPage(NoDisturbEntity noDisturb);

}

